package com.design.AdapterMode.AdapterMode;

/**
 * 类适配器模式
 * 说明：
 *      将一个类的接口转接成用户所期待的。一个适配使得因接口不兼容而不能在一起工作的类能在一起工作，做法是将类自己的接口包裹在一个已存在的类中。
 *      简单点来说就是类适配器使用继承关系实现，对象适配器使用组合关系实现
 * 应用场景：
 *      敏感词过滤
 *      升级兼容
 *      架构设计缺陷
 *      Slf4j日志打印
 *      外部依赖
 *      。。。
 */
public class Main {

    public static void main(String[] args) {
        // 类适配器
        ITarget target = new MyAdapter();
        target.demo1();
        target.demo2();
        target.demo3();

        // 对象适配器
        ITarget adaptor = new MyObjectAdaptor(new MyAdapter());
        adaptor.demo1();
        adaptor.demo2();
        adaptor.demo3();
    }

}
